package cn.edu.imau.zy.common.core.entity.student;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.ToString;
import cn.edu.imau.zy.common.annotation.Excel;
import cn.edu.imau.zy.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

//import javax.persistence.Transient;
import java.time.LocalDateTime;

/**
 * 学生请假对象 st_leave
 * 
 * @author wyz
 * @date 2020-07-01
 */
@Data
@ToString
public class StLeave extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String id;

    /** 请假类型 */
    @Excel(name = "请假类型")
    private String type;

    /** 开始时间 */
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(shape = JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startDate;

    /** 结束时间 */
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(shape = JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endDate;

    /** 时长(小时) */
    @Excel(name = "时长(小时)")
    private Double duration;

    /** 事由 */
    @Excel(name = "事由")
    private String description;

    /** 联系人电话 */
    @Excel(name = "联系人电话")
    private String contacts;

    /** 请假人姓名 */
    @Excel(name = "请假人姓名")
    private String userName;

    /**
     * 是否离校
     */
    private Boolean egress;
    /**
     * 目的地
     */
    private String destination;
    /**
     * 交通工具
     */
    private String vehicle;

    /** 图片证明 */
    private String proofPicture;

    /** 删除标记 */
    private Boolean delFlag;

    /**
     * 是否属实
     */
    private Boolean verify;

    /**
     * 家长是否同意
     */
    private Boolean agree;

    /**
     * 是否销假
     */
    private Boolean releave;

    /**
     * 销假时间
     */
    @Excel(name = "销假时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime releaveTime;

    /**
     * 销假地点
     */
    private String releaveAddress;

    /**
     * 请假状态
     */
    private String status;

    /**
     * 请假结果
     */
    private String result;

    /**
     * 通话记录图片
     */
    private String recordPicture;

    private String deptId;
    private String deptName;
    private String classesId;
    private String classesName;
    private String grade;
    private String studentNum;

}
